1. Technical Field
The present invention relates in general to computer systems and in particular to power-on operations of computer systems. Still more particularly, the present invention relates to a method that reduces start-up time and/or customer-induced start-up failures for computer systems.
2. Description of the Related Art
Personal computers typically take several seconds to be ready for operation (i.e., boot up) after a user pushes a button to turn the computer system on. Users of these computer systems would prefer to eliminate the wait-on-boot delay time and have their computer systems operate like other household appliances that are ready for use almost immediately after being powered on.
When a computer system is turned on from a cold power off (i.e., xe2x80x9cS5xe2x80x9d state when all power to all parts of the system is turned off), the current practice in the industry is to have the Basic Input/Output System (BIOS) code contained in the Read Only Memory (ROM) of the computer system perform a Power-On Self-Test (POST) operation to determine the configuration of the system""s hardware. The POST is a configuration code residing in the ROM, which initializes all the internal hardware and external hardware connected to the computer and tests and places the hardware in an operational state. The purpose of these checks is to initialize (or set up) various hardware control registers to enable the computer system to work properly with the current hardware configuration. For example, the POST operation determines what memory modules are present in the system, scans the optional card bus (the PCI bus in current practice) and assigns required system resources to each card. The POST operation also checks for the presence of disk drives and various interfacesxe2x80x94IDE, SCSI, internal USB, etc., sets up control registers to work with the interfaces found, and sets up System Management BIOS (SMBIOS) tables.
The BIOS program then normally checks drive A of the computer to determine if it contains a formatted floppy disk. If a floppy disk is mounted in the drive, the BIOS program searches specific locations of the disk to determine if a valid boot record exists. If the floppy drive is empty, the BIOS boot program checks the hard drive, typically the C drive, for the system files.
One visible limitation to the standard method of starting the computer is that the process is rather time consuming. The full memory discovery and configuration may take over 5 seconds on a system utilizing RAMBUS technology, and disk drive discovery may take in excess of 20 seconds on IDE or SCSI interfaces. In most cases, these routines provide the same results (i.e., the same control register settings are provided) for a system that has not had any changes to its hardware configuration since the last POST operation was performed.
Running the POST configuration code at each cold start up is useful in some limited situations such as development testing and manufacturing, when the computer system""s hardware configuration may be changed between each power up event. However, for the end users of the computer system, such behavior offers little benefit since changes to the computer system""s hardware configuration are typically vary rare or infrequent.
One development that has reduced the wait time for power up of a computer system is the return from low power xe2x80x9csave to RAMxe2x80x9d (also referred to as xe2x80x9cS3xe2x80x9d) state as defined by Microsoft Corporation. As a power saving measure, all power to the computer system, except for power to the memory modules, are shut down. When the user performs some action such as pressing a key on the keyboard, the BIOS quickly restores the control registers to the values they contained before S3 state was entered.
In S3 state, since power has been removed from most of the computer system, the computer system appears to be totally off as there is nothing displayed on the monitor, no fans running, no sound from the disk drives, etc. The user may mistakenly think the system is completely powered off when it is actually in S3 state. Thus, the user may attempt to make changes to the hardware configuration, such as adding or changing an adapter card.
If the user makes a change to the hardware configuration while the computer system is in S3 state, the operating system would probably crash when the user attempts to bring the system back up since the register values of hardware resources that had been originally stored by the computer system are now invalid. There would probably not be any electrical damage to the system because power has been removed from most of the system; however, the consequences of such a crash to the end user may be severe.
The present invention recognizes that it would therefore be desirable to have a method, system, and program product for reducing the power-on time of a computer system. It would be further desirable if said method, system, and program product further reduced customer-induced system failures during power-on from S3 state. These and other benefits are provided in the present invention.
Disclosed is a method for reducing power-up time and avoiding customer-induced failures of computer systems during power-up. An intrusion switch, which is connected to the inside frame of the computer system is utilized. The intrusion switch signals the BIOS of the computer system whenever the cover of the computer""s system unit is opened. The BIOS controls the POST operation during power-up of the computer system. During an initial power-up of the computer system, the POST configuration code examines and configures the hardware and sets the applicable registers, etc. At the end of the POST configuration code, the register values are stored in non-volatile storage. During a subsequent power-up of the computer system, a check is made to see if the cover of the system had been opened. When the cover has not been opened, the BIOS assumes that no change has occurred in the hardware configuration and the BIOS restores the register values from non-volatile storage without completing the POST operation. When the cover has been opened, the BIOS discards the register values and initiates the POST operation, i.e., a full configuration operation is performed and new values stored in the registers and non-volatile storage element.
In another embodiment, power-up of the computer system occurs from S3 state. When the computer system returns from an S3 state, and the cover of the system has been opened, a full power-up reconfiguration is performed followed by a cold boot (i.e., reloading from memory) of the operating system so that the configuration changes would be addressed properly in the configuration registers and the operating system.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.